package Tets;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;

public class Demo2 {
	public static void main(String[] args) throws Exception {

		Scanner in = new Scanner(System.in);
		String path = "C:/Users/weiyi/Desktop/项目1/data/cq.pwr";
		//文件查找
		
	/*	String filename = in.next();  
		String filePath=Utils.FindFile(path, filename);
		if(filePath.isEmpty()){
			throw new RuntimeException("无法找到文件");
		}*/
		//1)读数据
		File file =new File(path);
		InputStream is = new FileInputStream(file);	
		//2)处理数据
		byte[] readTittle = new byte[8];
		byte[] b = new byte[4]; 
		byte[]temp = null;
		int num = 0;
		is.read(readTittle,0,8);//读取头文件
		boolean flag = false;//标记文件开始的标志位
		List<Model2> listm2 = new LinkedList<Model2>();
		while(is.read(b, 0, 4)!=-1){	
			for(int i = 0;i < 4; i++){
				if(b[i]==-1){
					flag = true;
					break;
				}
			}
			if(flag){//如果是开头，ff ff ff ff,flag = true为开头
				//如果temp不是空那么就封装
				if(temp!=null){
					String str[]= new String [3];
					List<Note> list = new LinkedList<Note>();
					byte []bt =null;
					int counter=0;
					for(int i = 0,k=2; i < num;i=i+k){//对数据分割
						bt = new byte[k];
						for(int z = i,q=0;z<i+k;z++,q++){//获取字节
							bt[q] = temp[z];
						}
						if(counter<3)
							str[counter]=new String(bt);
						if(i==2){
							k=6;
						}else if(i==8){
							k=8;
						}else if(i>8){//大于8的时候就该读20字节了
							if(k!=20){//如果前一次没有20个字节，那么就设置为20字节
								k=20;
								continue;
							}
							//k=20的时候，那么解析这20个字节,放在Note对象里面,对象放在链表里面
							String []tempstr = new String[5]; 
							for(int m = 0;m < 20;m += 4){
								//解析
								tempstr[m/4] = Utils.getPrwValue(bt, m);
							}
							Note note = new Note(tempstr);
							list.add(note);
							
						}
						

						
					}
					
				}
				flag = false;	
				temp = new byte[4096];
				num = 0; 
				continue;
			}
			//不是开头则写数据
			for(int i =num,j=0;i<num+4;i++,j++){
				temp[i]=b[j];
			}
			num += 4;
			
		}
		
	}

}
